package com.pcbly.web.components.utils.jfreechart;

import java.awt.Color;
import java.awt.Font; 


import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.ValueAxis; 
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.title.TextTitle;

public abstract class AbstractChartFont {

	/**
	 * 配置字体
	 * 
	 * @param chart
	 *            JFreeChart 对象
	 */
	protected void configFont(JFreeChart chart) {
		// 配置字体
		Font xfont = new Font("宋体", Font.BOLD, 10);// X轴
		Font yfont = new Font("宋体", Font.BOLD, 10);// Y轴
		Font kfont = new Font("宋体", Font.PLAIN, 12);// 底部
		Font titleFont = new Font("隶书", Font.BOLD, 25); // 图片标题
		CategoryPlot plot = chart.getCategoryPlot();// 图形的绘制结构对象

		// 图片标题
		chart.setTitle(new TextTitle(chart.getTitle().getText(), titleFont));

		// 底部
		chart.getLegend().setItemFont(kfont);

		// X 轴
		CategoryAxis domainAxis = plot.getDomainAxis();
		domainAxis.setLabelFont(xfont);// 轴标题
		domainAxis.setTickLabelFont(xfont);// 轴数值
		domainAxis.setTickLabelPaint(Color.BLUE); // 字体颜色
		domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的label斜显示

		// Y 轴
		ValueAxis rangeAxis = plot.getRangeAxis();
		rangeAxis.setLabelFont(yfont);
		rangeAxis.setLabelPaint(Color.BLUE); // 字体颜色
		rangeAxis.setTickLabelFont(yfont);

	} 
	public abstract JFreeChart index();
}
